package com.ruoyi.manage.domain;

import java.math.BigDecimal;
import java.time.LocalTime;
import com.fasterxml.jackson.annotation.JsonFormat;
import org.apache.commons.lang3.builder.ToStringBuilder;
import org.apache.commons.lang3.builder.ToStringStyle;
import com.ruoyi.common.annotation.Excel;
import com.ruoyi.common.core.domain.BaseEntity;
import org.springframework.format.annotation.DateTimeFormat;

/**
 * 部门排班对象 dept_work_schedule
 *
 * @author cf
 * @date 2025-05-29
 */
public class DeptWorkSchedule extends BaseEntity
{
    private static final long serialVersionUID = 1L;

    /** 主键 */
    private Long workScheduleId;

    /** 部门 */
    @Excel(name = "部门")
    private Long deptId;

    /** 上午上班时间 */
//    @JsonFormat(pattern = "HH:mm:ss") // 修改格式为时间格式

    @DateTimeFormat(pattern = "HH:mm:ss")
    @Excel(name = "上午上班时间", width = 30, dateFormat = "HH:mm:ss") // Excel 导出格式也调整
    private LocalTime morningStart;

    /** 上午下班时间 */
//    @JsonFormat(pattern = "HH:mm:ss")
    @DateTimeFormat(pattern = "HH:mm:ss")
    @Excel(name = "上午下班时间", width = 30, dateFormat = "HH:mm:ss")
    private LocalTime morningEnd;

    /** 下午上班时间 */
//    @JsonFormat(pattern = "HH:mm:ss")
    @DateTimeFormat(pattern = "HH:mm:ss")
    @Excel(name = "下午上班时间", width = 30, dateFormat = "HH:mm:ss")
    private LocalTime afternoonStart;

    /** 下午下班时间 */
//    @JsonFormat(pattern = "HH:mm:ss")
    @DateTimeFormat(pattern = "HH:mm:ss")
    @Excel(name = "下午下班时间", width = 30, dateFormat = "HH:mm:ss")
    private LocalTime afternoonEnd;
    /** 总工时（单位：小时） */
    @Excel(name = "总工时", readConverterExp = "单=位：小时")
    private BigDecimal totalHours;

    /** 是否删除（0-未删除，1-已删除） */
    private Integer isDeleted;

    public void setWorkScheduleId(Long workScheduleId)
    {
        this.workScheduleId = workScheduleId;
    }

    public Long getWorkScheduleId()
    {
        return workScheduleId;
    }
    public void setDeptId(Long deptId)
    {
        this.deptId = deptId;
    }

    public Long getDeptId()
    {
        return deptId;
    }
    public void setMorningStart(LocalTime morningStart) {
        this.morningStart = morningStart;
    }

    public LocalTime getMorningStart() {
        return morningStart;
    }

    public void setMorningEnd(LocalTime morningEnd) {
        this.morningEnd = morningEnd;
    }

    public LocalTime getMorningEnd() {
        return morningEnd;
    }

    public void setAfternoonStart(LocalTime afternoonStart) {
        this.afternoonStart = afternoonStart;
    }

    public LocalTime getAfternoonStart() {
        return afternoonStart;
    }

    public void setAfternoonEnd(LocalTime afternoonEnd) {
        this.afternoonEnd = afternoonEnd;
    }

    public LocalTime getAfternoonEnd() {
        return afternoonEnd;
    }
    public void setTotalHours(BigDecimal totalHours)
    {
        this.totalHours = totalHours;
    }

    public BigDecimal getTotalHours()
    {
        return totalHours;
    }
    public void setIsDeleted(Integer isDeleted)
    {
        this.isDeleted = isDeleted;
    }

    public Integer getIsDeleted()
    {
        return isDeleted;
    }

    @Override
    public String toString() {
        return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE)
            .append("workScheduleId", getWorkScheduleId())
            .append("deptId", getDeptId())
            .append("morningStart", getMorningStart())
            .append("morningEnd", getMorningEnd())
            .append("afternoonStart", getAfternoonStart())
            .append("afternoonEnd", getAfternoonEnd())
            .append("totalHours", getTotalHours())
            .append("createTime", getCreateTime())
            .append("updateTime", getUpdateTime())
            .append("isDeleted", getIsDeleted())
            .toString();
    }
}
